Modern processors use a form of addressing known as virtual addressing. Virtual memory (VM) is an abstraction of main memory that provides each process with a private, contiguous linear address space.
1. Addressing Evolution
In physical addressing (Figure 9.1), the CPU sends a physical address (PA) directly to DRAM. In virtual addressing (Figure 9.2), processors generate a virtual address (VA), which is translated by the Memory Management Unit (MMU) into a PA before accessing memory.
2. Hierarchy & Caching
DRAM acts as a DRAM cache for disk storage. Due to disk latency, systems use a Write-back policy. Translations are accelerated via the TLB using the TLB Index (TLBI) and protected by bits like PROT_WRITE. Large address spaces ($N = 2^n$) allow for sophisticated segments and operating system services for I/O devices.